package com.esd.vo;

import org.apache.commons.lang.StringUtils;

public class PageUtil {

	public final static String DEFALUT_PAGESIZE = "20";

	private String page; // 当前页数
	private String rows; // 显示的记录数

	public PageUtil() {
		super();
	}

	public PageUtil(String page, String rows) {

		this.page = (StringUtils.isBlank(page)) ? "1" : page;
		this.rows = (StringUtils.isBlank(rows) || rows == "0") ? PageUtil.DEFALUT_PAGESIZE : rows;
	}

	public String getPage() {
		return page;
	}

	public void setPage(String page) {
		this.page = page;
	}

	public String getRows() {
		return rows;
	}

	public void setRows(String rows) {
		this.rows = rows;
	}

	/**
	 * 获取当前页数
	 * 
	 * @return
	 */
	public Integer getNowPage() {
		String myPage = (StringUtils.isBlank(this.page)) ? "1" : this.page;
		return Integer.valueOf(myPage);
	}

	/**
	 * 获取当前页面显示的记录数
	 * 
	 * @return
	 */
	public Integer getNowRows() {
		String myRows = (StringUtils.isBlank(rows) || rows == "0") ? PageUtil.DEFALUT_PAGESIZE : rows;
		return Integer.valueOf(myRows);
	}

	/**
	 * 根据行号、以及显示记录数 来返回pageUtil对象
	 * 
	 * @param lineNumber
	 * @param pageSize
	 * @return
	 */
	public static PageUtil getPageUtil(String lineNumber, String pageSize) {
		int page = 1;
		PageUtil pageUtil = new PageUtil();
		if (StringUtils.isBlank(pageSize)) {
			pageSize = PageUtil.DEFALUT_PAGESIZE;
		}
		if (StringUtils.isBlank(lineNumber) || lineNumber.equals("0")) {
			pageUtil.setPage("1");
			pageUtil.setRows(pageSize);
			return new PageUtil("1", pageSize);
		}
		int myLineNumber = Integer.parseInt(lineNumber);
		int myPageSize = Integer.parseInt(pageSize);

		if (myLineNumber % myPageSize == 0) {
			page = myLineNumber / myPageSize;
		} else {
			page = (myLineNumber / myPageSize) + 1;
		}
		return new PageUtil(page + "", pageSize);
	}
}
